<?php

namespace app\admin\controller;

use app\admin\model\Admin as ModelAdmin;
use app\BaseController;
use think\captcha\facade\Captcha;

/**
 * 后台登录操作
 *
 * 时间 ： 2020年3月10日13:27:05
 * 作者 ： 夏立军
 */
class Login extends BaseController
{
    // 登录页面
    public function index()
    {
        return view('index', [
            // 系统名称
            'system_name'  => config('ams_config.system_name'),
        ]);
    }

    // 验证账户
    public function captcha_account()
    {
        // 收集页面传过来的数据
        $data['account'] = input('post.account');
        $data['password'] = input('post.password');
        $captcha['captcha'] = input('post.captcha');

        if (is_null($data['account']) || is_null($data['password']) || is_null($captcha['captcha'])) {
            return json(['code' => 1, 'msg' => '填写数据不完整']);
        }

        if (!Captcha::check($captcha['captcha'])) {
            return json(['code' => 2, 'msg' => '验证码错误']);
        }

        // 调用模型类查询数据
        $admin = new ModelAdmin();
        $res = $admin->getAdminInfo($data['account']);

        if (!$res) {
            return json(['code' => 3, 'msg' => '用户不存在']);
        }
        $password = md5($data['password'] . config('ams_config.password_suffix'));
        if ($password != $res['password']) {
            return json(['code' => 4, 'msg' => '密码错误']);
        }

        $admin->updateTime($res['id']);
        // 定义返回数据
        $data = ['code' => 0, 'msg' => '登录成功'];
        session('admin_login', $res);
        return json($data);
    }

    // 创建一个验证码
    public function verify()
    {
        return Captcha::create();
    }

    // 退出
    public function logOut()
    {
        // 获取模型，并设置最后的退出时间
        if (session('?admin_login')) {
            $admin = new ModelAdmin();
            $admin->updateTime(session('admin_login')->id);
        }
        session('admin_login',null);
        return redirect_test(url('Login/index'));
    }
}
